This invention generally relates to data storage, and more specifically, to key-value based storage.
In a key-value (KV) store system, an arbitrary label (the key) is attached to data (the value) to be stored, and a pair of (key,value) is stored. Then, when acquiring the stored data, the label (key) is specified and the corresponding data (value) is acquired. A key-value storage system is a representative of a non-relational database and lifts a strict limitation on a relationship between a field structure and a table in a relational database. By enabling a key value to correspond to stored data and using a simplified data model, the KV storage system has a number of significant advantages.
A first advantage is high scalability. Because there is no strict limitation on a relationship between a field structure and a table in a KV storage system, distributed applications can be easily deployed on several servers in the KV storage system, thereby improving scalability of the entire system and achieving higher convenience and flexibility. Another important advantage of KV storage systems is adaption to mass storage and high throughput capabilities required for cloud computing. The KV storage system can better meet a flexible requirement of a user for scalability in a cloud computing environment.
The plethora of key-value based storage has made distributed in-memory remote object caching a reality in modern scale out systems in a variety of Big data problems. Optimizing these runtimes to reduce latency and increase throughput is of great importance to continue to support new applications as well as to provide competitive cloud and data center infrastructures as new advances in processors, network and storage are available.